package org.seckill.dao;

import org.apache.ibatis.annotations.Param;
import org.seckill.entity.Seckill;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * Created by chenhui479 on 16/11/20.
 */
public interface SeckillDao {

    /**
     *  减库存
     * @param seckillId
     * @param killTime
     * @return 如果影响行数>1，表示更新的行数
     */
      int reduceNumber (@Param("seckillId") long seckillId,@Param("killTime") Date killTime);


    Seckill queryById(long seckillId);


    /**
     * 根据偏移查询
     * @param offset
     * @param limit
     * @return
     */
    List<Seckill> queryALl(@Param("offset") int offset,@Param("limit") int limit);


    /**
     * 使用存储过程执行秒杀
     * @param paraMap
     */

    void killByProcedure(Map<String,Object> paraMap);

}
